const emojiReg =
    /[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/gi;
const msg = require('fs').readFileSync('.git/COMMIT_EDITMSG', 'utf-8').replace(emojiReg, '').trim();
const commitRE =
    /^(revert: )?(init|feat|fix|docs|dx|style|refactor|perf|test|workflow|build|ci|chore|types|wip|release)(\(.+\))?:.{1,50}/;
const mergeRe = /^(Merge pull request|Merge branch)/;
if (!commitRE.test(msg)) {
    if (!mergeRe.test(msg)) {
        //  console.log('git commit信息校验不通过');
        console.error(`git commit的信息格式不对, 需要使用 title(scope): desc的格式
      比如 fix():xxbug 
      feat(test):add new 
      具体校验逻辑看 scripts/verifyCommit.js
      ':'因为英文的
    `);
        process.exit(1);
    }
} else {
    console.log('git commit信息校验通过');
}
/* commit msg参考
init 初始化
feat: 新功能
fix: 修改 bug
docs: 文档
perf: 性能相关
refactor: 代码重构（就是不影响使用，内部结构的调整）
test: 测试用例
style: 样式修改
workflow: 工作流
build: 项目打包构建相关的配置修改
ci: 持续集成相关
revert: 恢复上一次提交（回滚）
wip: work in progress 工作中 还没完成
chore: 其他修改（不在上述类型中的修改）
release: 发版
deps: 依赖相关的修改
 */
